home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: delta / whiteline CD Series - delta.iso / progtool / modula2 / m2d2 / m2d2.txt < prev   
Text File  |  1995-11-25  |  26KB  |  623 lines

  1.   M2D2, die andere Shell für Modula-2/ST
  2.   ======================================
  3.  
  4.  
  5.  Developed using Modula-2/ST 0272-742796(UK), (214)340-4942(USA)
  6.  
  7.  
  8.  PSB  *  Pentagramm Software Braunschweig  *  Thomas Birke & Hinnerk Rümenapf
  9.  
  10.  
  11. Allgemeines
  12. ===========
  13.  
  14.  Sämtliche Rechte an den vorliegenden Programmen liegen bei den Autoren:
  15.  
  16.       Thomas Birke                     Hinnerk Rümenapf
  17.       birke@bii.bessy.de     und       Ottweilerstr. 18
  18.                                        38116 Braunschweig
  19.  
  20.  Die Programme sind nach bestem Wissen und Gewissen getestet und für gut
  21.  befunden. Ich übernehme jedoch keine Gewähr für die Fehlerfreiheit,
  22.  der Software, und bin insbesondere nicht haftbar für eventuelle Schäden
  23.  oder Datenverluste, die durch die Programme verursacht wurden.
  24.  
  25.  Sollten Sie einen (oder gar mehrere ?) Fehler finden wäre ich dankbar,
  26.  wenn sie mir eine möglichst genaue Beschreibung, wie es zu dem Fehler kam,
  27.  einschließlich einer Beschreibung Ihrer Hardware (Rechner, RAM, TOS, ...),
  28.  zukommen lassen würden.
  29.  
  30.  Das System besteht aus den folgenden Dateien:
  31.  M2D2.PRG       die eigentliche Shell
  32.  M2D2.RSC       die zugehörige Resource-Datei
  33.  M2D2.INF       ASCII-Datei mit den Parametern der Shell
  34.  DRUCKER.PR1    Druckeranpassung (mit ANPEDIT.PRG editierbar)
  35.  
  36.  M2OPTION.ACC   neues Options-Accessory (kürzer, dafür aber besser als
  37.                 das Alte)
  38.  M2PATHS.TXT    eine zum Original M2OPTION.ACC kompatible Parameterdatei
  39.  
  40.  
  41.  ANPEDIT.PRG    ein Programm zum Ändern der Druckeranpassungen
  42.  ANPEDIT.RSC    zugehörige Resource-Datei
  43.  *.PR1          Druckeranpassungen, die mit ANPEDIT.PRG editierbar sind.
  44.  
  45.  
  46. Intention
  47. =========
  48.  
  49.  Die Idee für M2D2, entstand daraus, daß die von TDI-Software Ltd.
  50.  mitgelieferte Shell zwar benutzbar ist, aber für größere Projekte nur ein
  51.  mangelhaftes Werkzeug darstellt. Da wäre zum ersten das Manko, daß auf einen
  52.  Blick nur fünf Module sichtbar sind, was bei größeren Projekten zuwenig ist.
  53.  Außerdem werden die Abhängigkeiten der Module untereinander völlig mißachtet.
  54.  Desweiteren wäre da die kaum brauchbare Möglichkeit andere Programme
  55.  aus der Shell heraus aufzurufen.
  56.  Diese Liste ließe sich noch weiter fortsetzen, was aber nicht meine
  57.  Absicht ist. Ich zähle lieber einige Möglichkeiten von M2D2 auf.
  58.  
  59.  - vollständige Überwachung der Abhängigkeiten der Module im
  60.    Arbeitsverzeichnis mit automatischer Compilierung nicht-aktueller Module
  61.    (für diejenigen, die die sog. höhere Programmiersprache C kennen also ein
  62.    integriertes, vollautomatisches MAKE)
  63.  - Kommunikation mit zugehörigem neuen Accessory M2OPTION.ACC
  64.  - komfortable Möglichkeit Module auszudrucken
  65.  - Pfade und Programmnamen von Editor, Compiler, Linker, usw. frei bestimmbar
  66.  - zehn Module gleichzeitig auf dem Desktop sichtbar
  67.  - ...
  68.  
  69.  
  70. Installation
  71. ============
  72.  
  73.  Der eigentliche Kern der Shell besteht aus dem Programm M2D2.PRG mit seiner
  74.  Resource-Datei M2D2.RSC, der Parameterdatei M2D2.INF und einer
  75.  Druckeranpassung DRUCKER.PR1.
  76.  
  77.  Kopieren Sie nun die eben genannten Dateien an die Stelle, an der Sie die
  78.  Shell haben wollen, und ersetzen Sie außerdem das alte Options-Accessory
  79.  M2OPTION.ACC durch das gleichnamige, leistungsfähigere aber kürzere
  80.  aus dem M2D2-System. Sie können auch weiterhin das alte Accessory benutzen,
  81.  denn die beiden sind vollständig kompatibel. Sie müssen dann aber auf einige
  82.  Arbeitserleichterungen durch M2D2 verzichten.
  83.  
  84.  Hier eine kurze Anleitung um zu einer sicheren Installation zu kommen:
  85.  - starten Sie M2D2.PRG
  86.  - lokalisieren Sie die durch Icons am linken Bildschirmrand dargestellten
  87.    Programme (von oben: Editor, Compiler, Linker, Debugger, RCS und
  88.    Kommando-Interpreter) durch Doppelklick auf das jeweilige Icon und Auswahl
  89.    des Programms in einem Datei-Auswahl-Dialog.
  90.  - wählen Sie im Menü  Parameter  den Menüpunkt  Shell ,
  91.    klicken auf den Knopf  Editor bekommt keine Fehlerdatei , und beenden
  92.    Sie den Dialog mit  OK
  93.  - wählen Sie im Menü  Parameter  den Menüpunkt  speichern
  94.  
  95.  Das System müsste mit allen Modula-2/ST-Releases ab Rel. 2.00a lauffähig
  96.  sein, insbesondere wurde es mit Rel. 3.01a entickelt und getestet. Bei
  97.  Unverträglichkeiten mit anden Releases bitte ich, mich zu unterrichten.
  98.  
  99.  Außerdem wurde M2D2 auf folgenden TOS-Versionen getestet, und für lauffähig
  100.  befunden:
  101.  
  102.  TOS 1.0                    6.02.86
  103.  TOS 1.2        vom        22.04.87
  104.  TOS 1.4                    6.04.89
  105.  KAOS 1.4.2                30.12.90
  106.  
  107.  
  108. Bedienung des M2D2-Desktop
  109. ==========================
  110.  
  111.  Die Bedienung von M2D2 ist bewußt an die Bedienung der Original-Shell
  112.  M2DESK.PRG angelehnt, aber weitaus komfortabler.
  113.  
  114.  Am linken Rand des Desktops finden Sie eine Reihe von Knöpfen untereinander
  115.  angeordnet, die wie im Original den Zugriff auf die Tools Editor, Compiler,
  116.  Linker, Debugger, Resource-Construction-Set, Kommando-Interpreter und
  117.  jedes beliebige andere Programm (zweiter von oben, bis nach unten) bieten.
  118.  Durch einfaches Anklicken eines Knopfes wird das jeweilige Programm
  119.  aufgerufen. Durch Anklicken des unteren Knopfes kann in einem
  120.  Datei-Auswahl-Dialog ein beliebiges Programm ausgewählt und gestartet werden,
  121.  für das außerdem auch noch eine Parameterzeile angegeben werden kann.
  122.  
  123.  Ein Doppelklick auf einen der Knöpfe (bis auf den oberen und den unteren)
  124.  öffnet einen Datei-Auswahl-Dialog, in dem das jeweilige Programm lokalisiert
  125.  werden kann.
  126.  Damit sind Zugriffdpfad und Name der Programme beliebig einstellbar (das
  127.  schafft mehr Ordnung auf Festplatten oder Disketten).
  128.  
  129.  Der oberste Knopf gibt die Möglichkeit im Arbeitsverzeichnis ein
  130.  neues Modul zu erzeugen. Es wird automatisch ein Rahmen für eine gültige
  131.  Modula-2-Datei geschrieben, und aus dem Modulnamen ein Dateiname erzeugt.
  132.  Falls das zu erzeugende Modul schon existiert gibt M2D2 eine entsprechende
  133.  Fehlermeldung aus.
  134.  Wenn zu einem zu erzeugenden .MOD schon ein .DEF existiert,
  135.  wird das .MOD automatisch ein IMPLEMENTATION MODULE.
  136.  
  137.  Schwierigkeiten kann es geben, falls die Modulnamen sich in
  138.  Groß/Kleinschreibung oder nach dem achten Zeichen unterscheiden.
  139.  Die Dateien bekommen dann den gleichen (Vor)Namen, gehören aber für den
  140.  Compiler zu verschiedenen Modulen (`incorrect module name' ist noch die
  141.  harmlosere Fehlermeldung).
  142.  
  143.  In der Mitte des Desktops befindet sich das Fenster mit dem
  144.  Arbeitsverzeichnis Arbeitsverzeichnis. Im Fenster werden die Module,
  145.  die sich im aktuellen
  146.  Arbeitspfad befinden angezeigt (sowie wenigstens eine Datei XXX.DEF
  147.  oder XXX.MOD vorhanden ist). Das Fenster ist weder verschiebbar noch
  148.  in der Größe veränderlich (um ehrlich zu sein, ist es noch nicht einmal ein
  149.  echtes Fenster, sondern es tut nur so). Im Fenster-Titel wird der aktuell
  150.  eingestellte Arbeitspfad angezeigt. Ein Einfachklick auf den Fenster-Titel
  151.  erfragt beim M2Options-Accessory erneut den Arbeitspfad, und reagiert,
  152.  falls nötig, darauf. Durch einen Doppelklick auf den Fenster-Titel bekommt
  153.  man die Möglichkeit, den Arbeitspfad mit einem Datei-Auswahl-Dialog zu
  154.  bestimmen. Falls das von *PSB mitgelieferte M2Options-Accessory installiert
  155.  ist wird ein neu eingestellter Arbeitspfad automatisch auch in diesem
  156.  gesetzt und ist damit global auch Compiler und Linker bekannt.
  157.  Beim Original-Accessory ist das leider nicht möglich, weshalb es
  158.  dann zu Schwierigkeiten mit Compiler und Linker kommen kann ("`Can't find
  159.  ..."').
  160.  
  161.  Falls sich im Arbeitsverzeichnis mehr als zehn Module befinden, kann der
  162.  senkrechte Rollbalken benutzt werden, um an nicht sichtbare Module zu
  163.  gelangen. Die Bedienung des Rollbalkens entspricht der Bedienung
  164.  der GEM-Fenster.
  165.  
  166.  Jedes gefundene Modul wird im Fenster wird durch eine Zeile dargestellt,
  167.  wobei in der Zeile die gefundenen Dateien vermerkt sind.
  168.  
  169.  Kürzel  Datei                   einfacher Mausklick startet
  170.  --------------------------------------------------------------------------
  171.  DEF     Definitions-Modul       Editor
  172.  ERD     Fehler-Datei            Editor
  173.  
  174.  MOD     (Implementations-)Modul Editor
  175.  ERM     Fehler-Datei            Editor
  176.  
  177.  SYM     übersetztes DEF         Compiler
  178.  LNK     übersetztes MOD         Compiler
  179.  PRG     gebundenes Programm     Linker    (Doppelklick startet das Programm)
  180.  RSC     Resource-Datei          RCS
  181.  
  182.  Auf der rechten Seite des Desktops befindet sich oben ein kleines
  183.  Informations-Fenster, in dem zum einen der noch verbleibende
  184.  Hauptspeicher, und zum anderen die Anzahl der im Arbeitsverzeichnis
  185.  befindlichen Module angezeigt wird.
  186.  
  187.  Darunter befinden sich zwei Icons:
  188.  - Drucker
  189.    Durch `ziehen' eines Moduls (also eines Knopfes mit
  190.    Inschrift DEF, MOD, ERD oder ERM auf dieses Icon, kann dieses Modul (nach
  191.    Rückfrage) ausgedruckt werden.
  192.  - Abfall
  193.    Durch `ziehen' einer Datei (DEF, MOD, ERD, ERM, SYM, LNK,
  194.    PRG oder RSC) auf dieses Icon, kann diese Datei (nach Rückfrage) gelöscht
  195.    werden. Wird ein Modulname auf dieses Icon gezogen, werden (nach Rückfrage)
  196.    alle Dateien mit diesem Namen gelöscht (DATEI.*).
  197.  
  198.  Wenn beim Start eines Programmes eine der [shift]-Tasten gedrückt wird,
  199.  wird von M2D2 automatisch eine Stopuhr gestartet, und die für den
  200.  Programmlauf benötigte Zeit gemessen.
  201.  
  202.  Wird bei gedrückter [control]-Taste auf eine Datei im Arbeitsverzeichnis
  203.  geklickt, wird deren Dateidatum und -uhrzeit auf das aktuelle Systemdatum
  204.  und -uhrzeit gesetzt (unter UNIX als `touch' bekannt). Damit kann z.B. der
  205.  Status `ungültig' einer Datei zurückgesetzt werden.
  206.  
  207.  Für die meisten Funktionen gibt es auch die Möglichkeit des Aufrufs über
  208.  die Tastatur (s. Anhang).
  209.  
  210.  
  211. Die M2D2-Menü-Zeile
  212. ===================
  213.  
  214.  Das Menü von M2D2 enthält nur einige wenige Menü-Punkte, da fast alle
  215.  Funktionen direkt auf dem Desktop ausgeführt werden können.
  216.  
  217. Menü: Parameter
  218. ---------------
  219.  
  220. Shell...
  221.  Vor Ihnen öffnet sich eine Dialogbox, in der einige wenige Einstellungen
  222.  vorgenommen werden können.
  223.  Zum einen können Pfade und Namen der sechs Haupt-Tools (Editor, Compiler,
  224.  Linker, Debugger, RCS und Kommando-Interpreter) von Hand eingetragen bzw.
  225.  nachgebessert werden.
  226.  Die Original TDI-Programme haben einen kleinen Fehler in der Auswertung der
  227.  übergebenen Parameter. Für Editor, Compiler und Linker kann M2D2 diesen
  228.  Fehler berücksichtigen, wenn Sie das entsprechende Feld vor dem Zugriffspfad
  229.  anwählen. Kurz: Bei TDI-Programmen Kreuzchen vor dem Zugriffspfad, bei allen
  230.  anderen nicht.
  231.  
  232.  Des weiteren können Flags gesetzt werden, die das Zusammenspiel Ihres Editors
  233.  mit der Shell regeln.
  234.  
  235.   Editor nach Compiler-Fehler
  236.    Mit diesem wird festgelegt, ob nach einem Übersetzungsfehler automatisch
  237.    der Editor mit dem fehlerhaften Modul aufgerufen wird. Ein Übersetzungs-
  238.    fehler ist aufgetreten, wenn eine vom Compiler erzeugte Fehlerdatei
  239.    existiert oder die Datei, die der Compiler erzeugen sollte, nicht
  240.    vorhanden ist.
  241.  
  242.   Des weiteren ist genau eines der nächsten drei Flags gesetzt:
  243.  
  244.   Editor ohne Fehlerdatei
  245.   Editor mit Fehlerdatei
  246.   Editor mit Fehlerdatei und ersten Fehler
  247.    Sie legen fest, was dem Editor außer dem Namen des defekten Moduls
  248.    übergeben wird. Es gibt die Möglichkeiten, nichts weiter, den Namen der
  249.    Fehlerdatei oder den Namen der Fehlerdatei und Zeile und Spalte des ersten
  250.    Fehlers zu übergeben.
  251.    Welches dieser drei Flags Sie setzen sollten, hängt von dem von Ihnen
  252.    verwendeten Editor ab. Für den Original-Editor des Modula-2/ST-Paketes
  253.    sollte das Flag 'Editor bekommt keine Fehlerdatei' gesetzt werden, da
  254.    dieser Editor die Fehlerdatei selbständig verwaltet. Falls Sie den
  255.    Tempus-Editor verwenden können Sie das Flag 'Editor bekommt Fehlerdatei
  256.    und ersten Fehler' setzen. Tempus setzt den Cursor im Fehlerhaften Modul
  257.    dann an die Stelle an der der erste Fehler gefunden wurde. Ich kann hier
  258.    natürlich nicht alle existierenden Editoren aufzählen, Sie müssen also
  259.    eventuell selbst ausprobieren, welches Flag für Ihren Editor die optimale
  260.    Einstellung ist.
  261.  
  262.   Batch nach Fehlern, wenn möglich, weiterbearbeiten.
  263.    Ist dieses Feld angewählt wird beim Übersetzen größerer Projekte soweit
  264.    wie möglich weitergearbeitet.
  265.    Sonst wird beim ersten Fehler abgebrochen.
  266.  
  267. Drucker...
  268.  Öffnet die Dialogbox zum Einstellen der Druckerparameter. Sie wird im
  269.  Abschnitt `Ausdrucken von Quelltexten' beschrieben.
  270.  
  271. laden
  272.  lädt die Datei M2D2.INF neu, und übernimmt aus ihr die Einstellung der
  273.  Parameter.
  274.  
  275. speichern
  276.  speichert die eingestellten Parameter in der Datei M2D2.INF
  277.  
  278. Ende
  279.  beendet M2D2 ohne Rückfrage.
  280.  
  281.  
  282. Menü: Abhängigkeiten
  283. --------------------
  284.  
  285.  M2D2 ist in der Lage die Beziehungen (Abhängigkeiten) zwischen den Modulen
  286.  im Arbeitsverzeichnis zu überprüfen und zu verwalten. So könnten sich zum
  287.  Beispiel im Arbeitsverzeichnis die beiden Module  Test  und
  288.   SubTest  befinden, die im groben folgenden Aufbau haben:
  289.  
  290.           DEFINITION MODULE SubTest;
  291.  
  292.              PROCEDURE anything;
  293.  
  294.           END SubTest.
  295.  
  296.  
  297.           IMPLEMENTATION MODULE SubTest;
  298.  
  299.              PROCEDURE anything;
  300.  
  301.                 BEGIN
  302.                    ...
  303.                 END anything;
  304.  
  305.           END SubTest.
  306.  
  307.  
  308.           MODULE Test;
  309.  
  310.           FROM SubTest     IMPORT anything;
  311.  
  312.           BEGIN
  313.              anything
  314.           END Test.
  315.  
  316.  
  317.  Für Modula-2 ist das Modul  Test  abhängig vom Modul  SubTest .
  318.  Wenn also in  SUBTEST.MOD  Änderungen vorgenommen werden, muß es neu
  319.  übersetzt werden, und damit hat sich auch  SUBTEST.LNK  geändert. Also muß
  320.   TEST.LNK  neu gelinkt werden, um die Änderungen aus  SUBTEST.MOD  auch im
  321.  endgültigen Programm  TEST.PRG  zu aktualisieren.
  322.  
  323.  Beim M2DESK.PRG des Modula-2/ST-Paketes war diese Überwachung bei größeren
  324.  Projekten mit mehreren Modulen eine Heidenarbeit, die Ihnen jetzt von M2D2 
  325.  abgenommen werden kann.
  326.  
  327.  Die automatische Versions-Überwachung ist in dieser Version auf das
  328.  Arbeitsverzeichnis beschränkt. Liegen also  Test  und  SubTest  in
  329.  verschiedenen Verzeichnissen, müssen Sie wieder selbst Hand anlegen.
  330.  Es bietet sich sowieso an, die Dateien eines Projektes in einem Ordner
  331.  Zusammenzufassen.
  332.  
  333.  Die Abhängigkeiten `merkt' sich M2D2 in einer Datei DEPEND.M2B
  334.  im entsprechenden Arbeitsverzeichnis. Diese Datei ist eine ASCII-Datei, und
  335.  kann mit jedem Editor angesehen und bearbeitet werden.
  336.  Mit der Funktion `bestimmen' aus dem Menü 'Abhängigkeiten' wird diese Datei
  337.  automatisch erzeugt (für das aktuelle Arbeitsverzeichnis). Wenn sich die
  338.  Abhängigkeiten ändern, müssen Sie sie von M2D2 erneut bestimmen lassen
  339.  (s.u.).
  340.  
  341.  Eine Datei, die neu übersetzt oder gelinkt werden muß, weil sich eine
  342.  untergeordnete Datei geändert hat, wird `grau' dargestellt.
  343.  
  344.  Eine Datei, die `grau' dargestellt ist, oder gar nicht vorhanden ist wird
  345.  `ungültig' genannt.
  346.  
  347.  Ob eine Datei gültig ist wird anhand des Dateidatums und der
  348.  Dateizeit überwacht. Es ist daher UNBEDINGT ERFORDERLICH das Datum und
  349.  Uhrzeit IMMER korrekt gesezt werden.
  350.  Zu diesem Zwecke gibt es eingebaute, nachrüstbare oder ansteckbare
  351.  Hardwareuhren bzw. Autoordner-Programme oder Accessories, die das Stellen
  352.  der Systemzeit übernehmen.
  353.  
  354. bestimmen
  355.  Für das aktuelle Arbeitsverzeichnis wird eine Datei DEPEND.M2B
  356.  erzeugt, in der die Abhängigkeiten der im Arbeitsverzeichnis befindlichen
  357.  Module vermerkt sind. Dazu wird jede Datei nach Importen durchsucht und
  358.  diejenigen Importe, die sich wieder auf das Arbeitsverzeichnis beziehen,
  359.  werden in die Datei DEPEND.M2B geschrieben.
  360.  Wenn sich die Abhängigkeiten ändern rufen Sie diese Funktion erneut auf.
  361.  
  362. ungültige übersetzen
  363.  Alle Dateien .SYM oder .LNK, die ungültig (also `grau' oder
  364.  nicht vorhanden) sind, werden neu übersetzt. Dabei wird automatisch auf
  365.  die richtige Reihenfolge geachtet. Die Abhängigkeiten müssen vorher bestimmt
  366.  worden sein (siehe oben).
  367.  
  368. vollst. Importlisten
  369.  Aus allen Modulen im aktuellen Arbeitsverzeichnis werden die Namen der Module
  370.  aus denen importiert wird in eine Datei GLOBAL.M2B geschrieben.
  371.  Zu Dokumentationszwecken hat man damit eine einfache Möglichkeit Importlisten
  372.  zu erstellen und weiterzuverarbeiten.
  373.  
  374.  
  375. Editieren, Compilieren und Linken
  376. =================================
  377.  
  378.  Durch Maus-Klick auf die verschiedenen Dateien können Editor, Compiler oder
  379.  Linker aufgerufen werden. Der Programmaufruf wird durch Maus-Klick auf die
  380.  entsprechende Endung gestartet.
  381.  
  382.  DEF, MOD       Der Editor wird mit der entsprechenden Datei aufgerufen.
  383.  
  384.  SYM, LNK       Der Compiler wird aufgerufen, um die entsprechende Datei zu
  385.                 erzeugen (auch wenn das Feld leer ist, die Datei also noch
  386.                 nicht existiert)
  387.  
  388.  PRG            Einfach-Klick:  Der Linker wird aufgerufen, eine neue
  389.                                 Programmdatei erzeugt.
  390.                 Doppel-Klick :  Das Programm wird (wenn vorhanden) gestartet
  391.  
  392.  RSC            Das in den Parametern eingestellte Resource-Construction-Set
  393.                 wird gestartet und bekommt den Namen der Resource-Datei
  394.                 übergeben.
  395.  
  396.  
  397. normale Arbeitszyklen
  398.  Zunächst wird im Editor ein Quelltext erstellt. Erlaubt es der Editor beim
  399.  Beenden einen EXIT-Code zu übergeben (z.B. Tempus), kann direkt die
  400.  Bearbeitung gestartet werden:
  401.  
  402.     EXIT-Code   Bearbeitung
  403.     ----------------------------------------------------------------
  404.         0       keine
  405.         1       compilieren
  406.         2       compilieren, linken
  407.         3       compilieren, linken, starten des erzeugten Programms
  408.  
  409.  Treten bei der Bearbeitung Fehler auf, wird der Editor mit dem Quelltext
  410.  aufgerufen, der für den Fehler verantwortlich sein müßte. Dabei werden
  411.  (natürlich) die eingestellten `Shell-Optionen' berücksichtigt.
  412.  
  413.  
  414. Automatische Compilierung
  415. -------------------------
  416.  
  417.  Bei der Bearbeitung geben Sie ein Ziel an, z.B. ein bestimmtes Modul
  418.  soll übersetzt werden, oder eine Programmdatei soll (vom Linker) neu
  419.  erzeugt werden.
  420.  Wenn die Abhängigkeiten der Module bestimmt wurden (Datei DEPEND.M2B
  421.  existiert im Arbeitsverzeichnis) werden alle ungültigen Dateien, die benötigt
  422.  werden um das angegebene Ziel zu erreichen, neu übersetzt. Ausgehend vom Ziel
  423.  der Bearbeitung werden alle Dateien, von denen das Ziel abhängt, überprüft
  424.  und wenn nötig neu übersetzt.
  425.  
  426.  Fehlende Dateien (SYM oder LNK) werden neu erzeugt.
  427.  
  428.  BEISPIELE
  429.  
  430.  Sie haben (nur!) die Quelltexte eines Programms erhalten, das aus mehreren
  431.  Modulen besteht und wollen ein Programm erzeugen.
  432.  - kopieren sie ALLE Quelltexte in einen Ordner
  433.  - starten Sie M2D2
  434.  - setzen Sie das Arbeitsverzeichnis auf den Ordner mit den Quelltexten
  435.    Es werden die .DEF und .MOD Dateien angezeigt.
  436.  - Wählen Sie im Menü  Abhängigkeiten  den Eintrag  bestimmen .
  437.    Die Abhängigkeiten der Module im Arbeitsverzeichnis werden bestimmt und
  438.    in einer Datei  DEPEND.M2B  gespeichert.
  439.  - Klicken Sie einmal in das Feld, in dem die Programmdatei angezeigt werden
  440.    müßte (das Feld ist leer, noch existiert kein Programm).
  441.    Ziel der Bearbeitung ist jetzt die Erstellung eines gültigen Programms. Um
  442.    das Ziel zu erreichen werden alle Quelltexte in der richtigen Reihenfolge
  443.    übersetzt, und danach der Linker aufgerufen.
  444.  
  445.  Sie bearbeiten ein Programm, das aus mehreren Modulen besteht. Sie haben
  446.  den ein Moduls geändert und wollen das Programm testen.
  447.  - Wenn sich die Abhängigkeiten der Module verändert haben könnten, wählen Sie im
  448.    Menü  Abhängigkeiten  den Eintrag  bestimmen .
  449.  
  450.    Alle ungültigen Dateien (SYM, LNK, PRG) werden `grau' Dargestellt
  451.  
  452.  - Klicken Sie einmal in das Feld  PRG . Alle ungültigen Dateien werden neu
  453.    übersetzt und das Programm gelinkt.
  454.  
  455.  
  456. Ausdrucken von Quelltexten
  457. ==========================
  458.  
  459.  Ziehen Sie das Feld zu der gewünschten Datei (DEF,MOD,ERD,ERM) auf das
  460.  Drucker-Icon. Das Feld am linken Rand mit dem Modulnamen steht für ALLE
  461.  druckbaren Dateien des Moduls.
  462.  
  463.  
  464. Druckoptionen
  465. -------------
  466.  
  467.  Beim Programmstart wird von M2D2 die Druckeranpassung DRUCKER.PR1 geladen.
  468.  Erstzen Sie diese Datei durch die Anpassung für Ihren Drucker (aber unter
  469.  demselben Namen!).
  470.  Mit einem Doppelklick auf das Drucker-Icon können Sie eine beliebige 
  471.  Druckeranpassung im PR1 - Format laden.
  472.  
  473.  Die anderen Optionen werden in einem Extradialog eingestellt
  474.  (Menü: Parameter,  Eintrag: Drucker... ).
  475.  Im oberen Teil wird die Bezeichnung des Druckers ausgegeben, für den eine
  476.  Anpassung geladen ist.
  477.  
  478.  Darunter können verschiedene Parameter der Schriftgröße eingestellt werden:
  479.     PICA        Basisgröße 10 Zeichen pro Inch
  480.     ELITE       Basisgröße 12 Zeichen pro Inch
  481.     MICRO       Halbe Zeichenhöhe (schaltet auch SCHMAL an)
  482.     SCHMAL      Die Zeichen werden schmaler dargestellt, abhängig von der
  483.                 gewählten Basisgröße.
  484.     (N)LQ       Schönschrift, wenn angewählt.
  485.  
  486.  Die folgenden Werte verändern sich je nach eingestellter Schriftgröße.
  487.  
  488.  Im Bereich links darunter werden die Papierbreite, Ränder links/rechts
  489.  und die Anzahl der Druckspalten angegeben.
  490.  
  491.  Im Bereich rechts daneben werden die Längenparameter angegeben. Zuerst
  492.  wieviele Zeilen Maximal gedruck werden können. Danach werden von oben nach
  493.  unten die Höhen der einzelnen Bereiche angegeben:
  494.  
  495.    Rand oben            Rand oberhalb der Kopfzeile
  496.    Rand für Kopfzeile   Platz für die Kopfzeile und evtl. Rand darunter,
  497.                         (0: keine Kopfzeile, 1: nur Kopfzeile, 2: Kopf- und
  498.                         eine Leerzeile darunter, ... )
  499.    Textzeilen/Seite     wird aus den Angaben errechnet
  500.    Rand für Fußzeile    Platz für die Fußzeile und evtl. Rand darüber
  501.    Rand unten           Rand unterhalb der Fußzeile
  502.  
  503.    Max.Leerzeilen       gibt an, wieviele Leerzeilen Maximal im Ausdruck auf-
  504.                         einanderfolgen dürfen. Stehen im Text mehr Leerzeilen
  505.                         hintereinander, werden die überzähligen nicht
  506.                         gedruckt.
  507.  
  508.  
  509. Das Options-Accessory
  510. =====================
  511.  
  512.  Das neue M2OPTION bietet alle Möglichkeiten des alten. Die Bedienungselemente
  513.  sind in einer Dialogbox zusammengefasst, es benötigt weniger Hauptspeicher
  514.  und arbeitet mit M2D2 zusammen (s. Bedienung des M2D2-Desktop, Einstellen des
  515.  Arbeitspfades.
  516.  
  517.  Die Voreinstellungen werden (wie beim alten) aus der Datei M2PATHS.TXT
  518.  gelesen. Diese Datei kann direkt übernommen werden.
  519.  
  520.  Alle uns bekannten Versionen von TDI-Modula2 arbeiten mit diesen Accessory
  521.  zusammen, ältere Versionen unterstützen jedoch nicht alle Zugriffspfade (nur
  522.  vier statt sechs).
  523.  
  524.  
  525. --ANHANG--
  526. ==========
  527.  
  528. Die Datei M2D2.INF
  529. ==================
  530.  
  531.  Hier ein Beispiel für eine Options-Datei M2D2.INF:
  532. ----------------- CUT HERE ----------------------------------
  533. Datei-Extender
  534. #X DEF, MOD, SYM, LNK, PRG, ERD, ERM
  535.  
  536. Editor
  537. #E C:\BIN\TEMPUS.PRG
  538.  
  539. Compiler
  540. #c D:\BIN\TDI\MODULA.PRG
  541.  
  542. Linker
  543. #l D:\BIN\TDI\LINKER.PRG
  544.  
  545. Debugger
  546. #D D:\TDI\BIN\DEBUG.PRG
  547.  
  548. RCS
  549. #R D:\TDI\BIN\NRSC.PRG
  550.  
  551. Kommando-Interpreter
  552. #M C:\MINISHEL.TOS
  553.  
  554. Flags :
  555. #F AutoEdit EditError1 GoOnAfterError
  556.  
  557. Druck-Parameter
  558. #P DRUCKER.PR1 1 6 0 2 130 0 0 1 158 0 3 2
  559. ----------------- CUT HERE ----------------------------------
  560.  
  561.  
  562.  Alle Zeilen, die NICHT mit einem  #  (Doppelkreuz) beginnen, werden
  563.  ignoriert, stehen also für beliebige Kommentare zur verfügung.
  564.  Ansonsten legt das dem  #  folgende Zeichen fest, welcher Parameter
  565.  gesetzt wird:
  566.  
  567.    X    Dateiendungen und Kürzel für:
  568.         Definitionsteil, Implementationsteil,
  569.         übersetzten Definitionsteil, übersetzen Implementationsteil,
  570.         Programmdatei,
  571.         Fehlerliste für Definitionsteil, Fehlerliste für Implementationsteil.
  572.         Im Beispiel sind die Einstellungen für TDI-Modula2/ST eingetragen.
  573.         Diese Einstelleungen sind die einzigen, die NUR mit einem Texteditor
  574.         in der INF Datei geändert werden können. Alle anderen werden in den
  575.         Optionsdialogen von M2D2 eingestellt.
  576.         Beim Speichern der Optionen werden diese Einstellungen so geschrieben,
  577.         wie sie zuletzt gelesen wurden.
  578.  
  579.    E    Programmname und Pfad des Editors      ! Großbuchstabe: OHNE Korrektur
  580.    C    Programmname und Pfad des Compilers    ! des TDI-Parameterfehlers,
  581.    L    Programmname und Pfad des Linkers      ! Kleinbuchstabe: MIT
  582.  
  583.  
  584.    D    Programmname und Pfad des Debuggers
  585.    R    Programmname und Pfad des Resource-Construction-Sets
  586.    M    Programmname und Pfad des Kommando-Interpreters
  587.    F    Flags AutoEdit EditError GoOnAfterError und EditError1
  588.         (gesetzt wenn vorhanden)
  589.    P    Drucker-Parameter (etwas undurchsichtig, verwenden Sie den Options-
  590.         dialog)
  591.  
  592.  
  593. Tastaturbedienung
  594. =================
  595.  
  596.  Taste          Funktion
  597.  F1             der Editor wird gestartet
  598.  F2             der Compiler wird gestartet
  599.  F3             der Linker wird gestartet
  600.  F4             der Resource-Editor wird gestartet
  601.  F5             der Debugger wird gestartet
  602.  F6             der Kommande-Interpreter wird gestartet
  603.  F7             die Abhängigkeiten werden bestimmt
  604.  F8             nicht-aktuelle Dateien werden neu erzeugt
  605.  F9             das M2-Options-Accessory wird aufgerufen
  606.  F10            ein Programm kann ausgewählt und gestartet werden
  607.  A bis Z        das erste Modul dessen Name mit diesem
  608.                 Buchstaben beginnt wird in das Fenster gerollt
  609.  [ctrl]C
  610.  [ctrl]Q
  611.  [ctrl]X        M2D2 beenden
  612.  
  613.  [ctrl]N        neues Modul erzeugen
  614.  [ctrl]O        die Shell-Parameter können eingestellt werden
  615.  [ctrl]D        Drucker-Parameter können eingestellt werden
  616.  [ctrl]P        einen neue Drucker-Anpassung kann geladen werden
  617.  [Help]         Hilfe-Box mit der Tastaturbelegung von M2D2
  618.   ^  v          (Pfeiltasten!) Fenster zeilenweise auf und ab rollen
  619.                 Zusätzlich  shift  gedrückt: Seitenweise rollen.
  620.  [ESC]          Pfad und Module des Arbeitsfensters neu bestimmen
  621.  
  622. +++
  623.